]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
4 years agoUpdate Galician translation
Fran Dieguez [Mon, 20 Dec 2021 10:15:37 +0000 (10:15 +0000)]
Update Galician translation

4 years agoUpdate Turkish translation
Emin Tufan Çetin [Fri, 17 Dec 2021 14:46:03 +0000 (14:46 +0000)]
Update Turkish translation

4 years agoshell/window-tracker: Track all initial windows
Florian Müllner [Wed, 17 Nov 2021 18:17:59 +0000 (19:17 +0100)]
shell/window-tracker: Track all initial windows

meta_workspace_list_windows() doesn't include OR windows, so go
through the newly added meta_display_list_all_windows() instead.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4751

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2029>

4 years agoshell/window-tracker: Track ::window-created
Florian Müllner [Tue, 16 Nov 2021 19:46:58 +0000 (20:46 +0100)]
shell/window-tracker: Track ::window-created

We currently track windows via MetaWorkspace's ::window-added and
::window-removed signals. Those aren't emitted for override-redirect
windows though, as those aren't actually located on any workspace
(see https://gitlab.gnome.org/GNOME/mutter/-/blob/gnome-41/src/core/window.c#L1322).

While that shouldn't be an issue as there's no good reason to look up
the ShellApp of an OR window, extensions can make modifications that
result in OR windows ending up in places that assume that every window
has an associated ShellApp.

We can either
 - accept that extensions break stuff (including badly)
 - carefully handle app-less windows everywhere
 - extend tracking to OR windows

Opt for the last option, as that's the most user-friendly and least
disruptive one.

It's also simpler to track ::window-created and ::unmanaged, as we
don't have to track workspaces or windows moving between workspaces.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4751

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2029>

4 years agoshell/window-tracker: Track windows getting unmanaged
Florian Müllner [Tue, 16 Nov 2021 19:52:11 +0000 (20:52 +0100)]
shell/window-tracker: Track windows getting unmanaged

It makes sense to not rely on workspaces' ::window-removed
signal, and we already do that in ShellApp.

However it is odd to remove a tracked window from the app,
but still track it in the window tracker. Move the code
to remove unmanaged windows from both.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4751

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2029>

4 years agoshell/window-tracker: Do not filter tracked windows by type
Florian Müllner [Thu, 11 Nov 2021 17:40:42 +0000 (18:40 +0100)]
shell/window-tracker: Do not filter tracked windows by type

The window-type property may change, and with it the skip-taskbar
property that decides whether we consider it "interesting".

As a result we can end up showing untracked window, i.e. one
which does not have an associated app.

Cover this case by simply tracking all windows regardless of
their type. This won't change the app's running state, as that
is solely based on the skip-taskbar property (which is enforced
for all previously excluded window types).

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4751

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2029>

4 years agoUpdated Lithuanian translation
Aurimas Černius [Tue, 14 Dec 2021 11:48:30 +0000 (13:48 +0200)]
Updated Lithuanian translation

4 years agoUpdate Russian translation
Aleksandr Melman [Mon, 13 Dec 2021 11:27:43 +0000 (11:27 +0000)]
Update Russian translation

4 years agoUpdate Occitan translation
Quentin PAGÈS [Sat, 11 Dec 2021 11:50:22 +0000 (11:50 +0000)]
Update Occitan translation

4 years agoUpdate Friulian translation
Fabio Tomat [Thu, 9 Dec 2021 23:42:04 +0000 (23:42 +0000)]
Update Friulian translation

4 years agoutil: Wait for initial name owners in DBusSenderCheck before checking
Sebastian Keller [Tue, 23 Nov 2021 01:48:04 +0000 (02:48 +0100)]
util: Wait for initial name owners in DBusSenderCheck before checking

Otherwise an allowed caller might get rejected if the call is right
after a gnome-shell restart and the watchers have not finished running
their callbacks yet.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4813
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2048>

4 years agoswitchMonitor: Only show 'mirror' and 'join' modes when not a laptop
Jonas Ådahl [Thu, 2 Dec 2021 21:04:01 +0000 (22:04 +0100)]
switchMonitor: Only show 'mirror' and 'join' modes when not a laptop

The 'external only' and 'builtin only' options makes no sense if there
are only external monitors.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3276
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2056>

4 years agoci: Bump mutter image
Jonas Ådahl [Sat, 4 Dec 2021 16:12:13 +0000 (17:12 +0100)]
ci: Bump mutter image

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2059>

4 years agomessageList: Give focus to next message on delete
Dylan McCall [Mon, 29 Nov 2021 00:19:35 +0000 (16:19 -0800)]
messageList: Give focus to next message on delete

When the user deletes a message using the keyboard, set the keyboard
focus to the next message, or to the list container itself, so it
remains possible to navigate using the keyboard.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/502
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2053>

4 years agocalendar-server: Calculate event end according to spec if missing
Sebastian Keller [Thu, 4 Nov 2021 12:59:18 +0000 (13:59 +0100)]
calendar-server: Calculate event end according to spec if missing

The ical specification allows events to omit an end, which for dates
means the end is start + 1 day and for date times it is equal to the
start.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4753
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agocalendar-server: Remove the all-day property of events
Sebastian Keller [Thu, 4 Nov 2021 16:07:50 +0000 (17:07 +0100)]
calendar-server: Remove the all-day property of events

The way it is currently calculated is broken for days with DST changes
or leap seconds and it is not needed anymore anyway. This will also make
the fix in the following commit simpler.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agodateMenu: Ignore the allDay property of an event
Sebastian Keller [Thu, 4 Nov 2021 11:48:26 +0000 (12:48 +0100)]
dateMenu: Ignore the allDay property of an event

Given the correct end date this code would be able to determine this
correctly itself and doesn't need to rely on that property. And events
without correct end dates are currently not shown anyway. This prepares
for removing the allDay property entirely.

This also fixes events going from 13:00 the current day to 01:00 not
showing "...". It also fixes multi-day events wrongly detected as
all-day events by the calendar-server showing up as "All day", despite
only covering 1 hour of the day.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agocalendar: Fix inclusion of zero-length events
Sebastian Keller [Thu, 4 Nov 2021 13:09:03 +0000 (14:09 +0100)]
calendar: Fix inclusion of zero-length events

Events with a date time (not just a date) where the end time is missing
or matching the start time were considered to not overlap the selected
interval if they were happening on the start time of the interval. This
was causing such zero-length events to be omitted from the calendar if
they were starting at 0:00.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agocalendar: Start ranges at 0:00 and iterate in whole days
Sebastian Keller [Thu, 4 Nov 2021 14:34:45 +0000 (15:34 +0100)]
calendar: Start ranges at 0:00 and iterate in whole days

Using a starting time other than 0:00 will prevent events before the
chosen starting time from showing up for that range. This was causing
events before 12:00 to be missing in the shell calendar on the first day
of a range.

Fix this by always starting at 0:00 and then incrementing by days rather
than a time value that depending on DST or leap seconds may or may not
correspond to a day.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agodateMenu: Use intervals with non-inclusive ends for date ranges
Sebastian Keller [Thu, 4 Nov 2021 11:42:52 +0000 (12:42 +0100)]
dateMenu: Use intervals with non-inclusive ends for date ranges

The ical events, we are comparing these intervals to use the first point
in time after the end of the event as their end time, while the code in
gnome-shell was using the last point in time within the range. This was
causing multi-day events ranging from 0:00 to 0:00 to have a trailing
"..." shown on the last day.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agoUpdate Portuguese translation
Hugo Carvalho [Sat, 27 Nov 2021 15:42:46 +0000 (15:42 +0000)]
Update Portuguese translation

4 years agoUpdate Ukrainian translation
Yuri Chornoivan [Fri, 26 Nov 2021 21:36:23 +0000 (21:36 +0000)]
Update Ukrainian translation

4 years agoUpdate Croatian translation
Goran Vidović [Fri, 26 Nov 2021 18:04:13 +0000 (18:04 +0000)]
Update Croatian translation

4 years agomain: Warn when unsafe mode is toggled
Florian Müllner [Tue, 23 Nov 2021 19:19:14 +0000 (20:19 +0100)]
main: Warn when unsafe mode is toggled

MetaContext:unsafe-mode was added as a debugging tool to temporarily
remove restrictions on privileged APIs. But as it turns out, there
are now extensions that toggle the property permanently. Right now
none of them are malicious (as far as I can see), but it's still a
bad idea and should be discouraged.

Do this with a notification that warns the user when unsafe mode is
enabled non-interactively (i.e. via looking glass), and hopefully
also clarifies what the weird lock icon in the top bar is about.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4798

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2050>

4 years agowindowManager: Set up unfullscreen/app-switch gestures in the capture phase
Carlos Garnacho [Mon, 27 Sep 2021 20:45:47 +0000 (22:45 +0200)]
windowManager: Set up unfullscreen/app-switch gestures in the capture phase

Use the new API to specify the gesture phase.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1992>

4 years agoswipeTracker: Set up TouchSwipeGesture in the capture phase
Carlos Garnacho [Mon, 27 Sep 2021 20:44:37 +0000 (22:44 +0200)]
swipeTracker: Set up TouchSwipeGesture in the capture phase

Use the new API to specify the gesture phase.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1992>

4 years agoUpdate Friulian translation
Fabio Tomat [Mon, 22 Nov 2021 11:06:48 +0000 (11:06 +0000)]
Update Friulian translation

4 years agolayout: Removed unused method
Florian Müllner [Tue, 16 Nov 2021 18:26:33 +0000 (19:26 +0100)]
layout: Removed unused method

Commit a6b4d4945 removed the only caller in 2013(!)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2034>

4 years agoUpdated Lithuanian translation
Aurimas Černius [Sun, 21 Nov 2021 19:43:20 +0000 (21:43 +0200)]
Updated Lithuanian translation

4 years agoUpdate Persian translation
MohammadSaleh Kamyab [Sat, 20 Nov 2021 08:58:41 +0000 (08:58 +0000)]
Update Persian translation

4 years agoUpdate Occitan translation
Quentin PAGÈS [Thu, 18 Nov 2021 20:15:41 +0000 (20:15 +0000)]
Update Occitan translation

4 years agoappDisplay: Remove unused animate() implementations
Evan Welsh [Sat, 30 Oct 2021 22:25:52 +0000 (15:25 -0700)]
appDisplay: Remove unused animate() implementations

Usages were removed in gnome-shell!1593

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2041>

4 years agomodalDialog: Consistently return correct boolean for open() in ModalDialogs
Evan Welsh [Sat, 30 Oct 2021 22:08:12 +0000 (15:08 -0700)]
modalDialog: Consistently return correct boolean for open() in ModalDialogs

Previously these calls either ignored the return from super.open() or
implicitely returned false.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2038>

4 years agokeyring: Fix incorrect reference to the label instead of string
Evan Welsh [Sat, 30 Oct 2021 22:09:39 +0000 (15:09 -0700)]
keyring: Fix incorrect reference to the label instead of string

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2036>

4 years agocalendar: Use boolean operations instead of bitwise operators
Evan Welsh [Sat, 30 Oct 2021 22:30:32 +0000 (15:30 -0700)]
calendar: Use boolean operations instead of bitwise operators

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2039>

4 years agomagnifier: Remove call to dropped Clutter::get_default_frame_rate()
Sebastian Keller [Mon, 8 Nov 2021 04:00:47 +0000 (05:00 +0100)]
magnifier: Remove call to dropped Clutter::get_default_frame_rate()

Clutter::get_default_frame_rate() has been removed in mutter!2002, but
it is still being used here. Given that this was basically hardcoded to
60 in mutter with the only way of changing this being an obscure
environment variable, just use that value here directly. This avoids a
crash when starting gnome-shell with the magnifier enabled.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4761
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2025>

4 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 16 Nov 2021 14:48:18 +0000 (15:48 +0100)]
Updated Spanish translation

4 years agoUpdate Hebrew translation
Yaron Shahrabani [Thu, 11 Nov 2021 22:27:18 +0000 (22:27 +0000)]
Update Hebrew translation

4 years agoenvironment: Require gnome-desktop 3.0
Georges Basile Stavracas Neto [Thu, 11 Nov 2021 19:20:39 +0000 (16:20 -0300)]
environment: Require gnome-desktop 3.0

Pretty much the exact same case of 9ce6756235.

libgnome-desktop saw a major version bump, and we have to
stick with 3.0 for a while.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2030>

4 years agoenvironment: Require GnomeBluetooth 1.0
Georges Basile Stavracas Neto [Sun, 31 Oct 2021 20:24:58 +0000 (17:24 -0300)]
environment: Require GnomeBluetooth 1.0

libgnome-bluetooth will start to offer a 2.0 library version
depending on GTK4. Given that GNOME Shell already depends on
GTK3, it cannot use this next version of gnome-bluetooth. And
since GJS will automatically try and use the latest version
available of any library, Shell must specify it wants 1.0
explicitly.

Add a required GnomeBluetooth version number when importing it
for the status indicator.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2015>

4 years agoUpdate Croatian translation
Goran Vidović [Thu, 11 Nov 2021 09:45:19 +0000 (09:45 +0000)]
Update Croatian translation

(cherry picked from commit ed7153bcbbf29c698226009af6f0df347386609d)

4 years agoUpdate Italian translation
Milo Casagrande [Tue, 9 Nov 2021 08:16:59 +0000 (08:16 +0000)]
Update Italian translation

5 years agomagnifier: Disable desaturation effect when not in use
Sebastian Keller [Mon, 8 Nov 2021 04:19:32 +0000 (05:19 +0100)]
magnifier: Disable desaturation effect when not in use

The desaturation effect was always enabled, regardless of the specified
factor. This was causing the magnifier to always hit offscreen
rendering, even when not necessary. Additionally offscreen rendering is
currently also causing glitches in MetaWindowGroup which this helps to
avoid in some cases.

Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/1678
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2026>

5 years agotheme: Provide :checked state for buttons
Jakub Steiner [Mon, 8 Nov 2021 13:23:53 +0000 (14:23 +0100)]
theme: Provide :checked state for buttons

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4757

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2027>

5 years agoUpdate Portuguese translation
Hugo Carvalho [Sun, 7 Nov 2021 22:35:21 +0000 (22:35 +0000)]
Update Portuguese translation

5 years agoUpdate Occitan translation
Quentin PAGÈS [Sun, 7 Nov 2021 19:31:19 +0000 (19:31 +0000)]
Update Occitan translation

5 years agoUpdate Friulian translation
Fabio Tomat [Sun, 7 Nov 2021 16:50:29 +0000 (16:50 +0000)]
Update Friulian translation

5 years agoUpdate French translation
Charles Monzat [Sun, 7 Nov 2021 14:53:15 +0000 (14:53 +0000)]
Update French translation

(cherry picked from commit 4f2b7300a160e96e66b3b16179d9fb3df3378433)

5 years agoUpdate Slovak translation
Dušan Kazik [Sat, 6 Nov 2021 14:10:47 +0000 (14:10 +0000)]
Update Slovak translation

(cherry picked from commit cc566201b71e86b0a70f722fd155ed5481c5831b)

5 years agoUpdate Polish translation
Piotr Drąg [Sat, 6 Nov 2021 13:27:11 +0000 (14:27 +0100)]
Update Polish translation

5 years agoshellMountOperation: Remove unused volume monitor
Sebastian Keller [Wed, 3 Nov 2021 19:53:55 +0000 (20:53 +0100)]
shellMountOperation: Remove unused volume monitor

It seems to have never been used since 6b5f9a647a, the commit that
introduced it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2021>

5 years agoUpdate German translation
Christian Kirbach [Wed, 3 Nov 2021 20:33:48 +0000 (20:33 +0000)]
Update German translation

(cherry picked from commit 03a3ce062a79a3593fa8933b90e7144504955829)

5 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 3 Nov 2021 10:04:19 +0000 (10:04 +0000)]
Update Indonesian translation

(cherry picked from commit 0512d1fff4b9d62dd6a034ef197a9c4081db17df)

5 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Wed, 3 Nov 2021 01:19:46 +0000 (01:19 +0000)]
Update Brazilian Portuguese translation

(cherry picked from commit ba32dcc16b93986741bfbb3219d1375d0a8fd8be)

5 years agoUpdate Swedish translation
Anders Jonsson [Tue, 2 Nov 2021 21:05:16 +0000 (21:05 +0000)]
Update Swedish translation

(cherry picked from commit edcee44c720203977e77ad2a0f857dc6e0080f4b)

5 years agoUpdate Ukrainian translation
Yuri Chornoivan [Tue, 2 Nov 2021 16:31:49 +0000 (16:31 +0000)]
Update Ukrainian translation

(cherry picked from commit f8cdac49c6dd8e8e364ecdabbde3bbd40f072101)

5 years agoinputMethod: Do not reset invisible preedit on focus_out
Carlos Garnacho [Fri, 29 Oct 2021 14:46:18 +0000 (16:46 +0200)]
inputMethod: Do not reset invisible preedit on focus_out

If the preedit is in invisible state, the last preedit string that
was sent around is already null, so there is no need to clear the preedit
in that case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>

5 years agoinputMethod: Do not communicate preedit text change on reset
Carlos Garnacho [Fri, 29 Oct 2021 14:43:15 +0000 (16:43 +0200)]
inputMethod: Do not communicate preedit text change on reset

This is now done in the ClutterInputFocus for us, since
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1940. There
is no need to duplicate this call, and it happens to cause undesired
scrolling to content in some cases when this reset happens during
a change in the IM focused client state.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4647
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>

5 years agoinputMethod: Equate empty preedit string to null
Carlos Garnacho [Fri, 29 Oct 2021 14:41:55 +0000 (16:41 +0200)]
inputMethod: Equate empty preedit string to null

If we get '' from the IM as the preedit string, it is pretty safe
to handle it as "no preedit" altogether.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>

5 years agodbusServices/extensions: Only allow one dialog at a time
Florian Müllner [Tue, 26 Oct 2021 17:40:08 +0000 (19:40 +0200)]
dbusServices/extensions: Only allow one dialog at a time

Showing multiple preference dialogs at the same time (for instance
by repeated `gnome-extensions prefs` calls) may or may not work as
expected, depending on whether any of the dialogs is modal or not
(read: opened via the Extensions app).

The easiest way to address this is to disallow more than a single
dialog at the time. It's arguably also the more predictable behavior,
and means extensions don't have to deal with inconsistent state
caused by multiple dialogs.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>

5 years agodbusServices/extensions: Fix shutdown after showing prefs
Florian Müllner [Thu, 28 Oct 2021 17:27:57 +0000 (19:27 +0200)]
dbusServices/extensions: Fix shutdown after showing prefs

GTK4 relies entirely on refcounting for cleanup (that is,
there is no longer a destroy() method that forces a dispose
run regardless of the refcount).

Unfortunately that makes cleanup harder in (some) language
bindings, where an object may be kept alive implicitly by
closures etc.

Address this by releasing the hold count when the window
is closed rather than when it is destroyed.

This isn't the most elegant, but it ensure that the service
doesn't get stuck if an extension doesn't carefully clean
up everything in its prefs widget.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>

5 years agoextensions-tool/prefs: Log D-Bus errors
Florian Müllner [Thu, 28 Oct 2021 17:55:23 +0000 (19:55 +0200)]
extensions-tool/prefs: Log D-Bus errors

We currently ignore any error that may occur when calling the
OpenExtensionPrefs D-Bus method. Right now such an error is highly
unlikely, given that we already checked that we are running under
gnome-shell and the extension in question exists and has prefs.

We'll soon make sure that only one dialog is shown at any time,
which is an error that we can realistically expect, so handle that
properly.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>

5 years agoextensions-tool: Add missing newline
Florian Müllner [Thu, 28 Oct 2021 18:05:03 +0000 (20:05 +0200)]
extensions-tool: Add missing newline

Unlike g_warning() and friends, g_printerr() does not append
a trailing newline.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>

5 years agoshell/app: Don't move all workspace windows to their startup workspace
Sebastian Keller [Sat, 30 Oct 2021 11:21:17 +0000 (13:21 +0200)]
shell/app: Don't move all workspace windows to their startup workspace

Windows from some applications, such as guake, are created as showing on
all workspaces. When these windows are put on the workspaces via
set_workspace_state() during construction, the first time the window is
added to a workspace in the loop triggers the shell app tracker which
then tries to move the window to its startup workspace. This makes the
window unsticky which triggers another set_workspace_state() which
tries to remove the window from all workspaces, but currently it is only
on the first one and then adds it to the startup workspace. Once that is
finished, the first set_workspace_state() continues adding the window
to the remaining workspaces, despite the window now no longer having
on_all_workspaces set to true.

When the window is now unmanaged, the window according to its internal
state is only found on the startup workspace, so it will only be removed
from that. This causes the assertion to fail that checks that the window
is no longer present on any workspace after this.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4720

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2014>

5 years agoRevert "st: Only use clutter_actor_invalidate_paint_volume() if the API exists"
Carlos Garnacho [Wed, 27 Oct 2021 17:21:08 +0000 (19:21 +0200)]
Revert "st: Only use clutter_actor_invalidate_paint_volume() if the API exists"

Since we are past the 40 API change hurdle, it is safe to revert this
commit.

This reverts commit 1cefd589da2edca84d19b285d553e2a68cda3e37.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2010>

5 years agoUpdate Persian translation
eshagh shahidani [Mon, 25 Oct 2021 20:42:25 +0000 (20:42 +0000)]
Update Persian translation

(cherry picked from commit 025588b89ac5736bd319a2982622aa9ae139d2c2)

5 years agoUpdate Latvian translation
Rūdolfs Mazurs [Mon, 25 Oct 2021 17:56:42 +0000 (17:56 +0000)]
Update Latvian translation

(cherry picked from commit ce2ae0642f2e6c20dd94d5740e00cbe781bd71ca)

5 years agoenvironment: Apply autoReverse/repeatCount to all transitions
Florian Müllner [Thu, 21 Oct 2021 17:50:18 +0000 (19:50 +0200)]
environment: Apply autoReverse/repeatCount to all transitions

Like the old Tweener API, ease() allows to transition multiple
properties at once. If autoReverse or repeatCount are specified,
they should apply to all transitions, but right now we only set
them for the first one.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2007>

5 years agoUpdate Kabyle translation
Selyan Slimane AMIRI [Sat, 16 Oct 2021 14:35:12 +0000 (14:35 +0000)]
Update Kabyle translation

(cherry picked from commit 8c5d552cc2f045bf40529eae436e30d46cf74c71)

5 years agosessionMode: Drop allowExtensions property
Ray Strode [Tue, 28 Sep 2021 19:31:11 +0000 (15:31 -0400)]
sessionMode: Drop allowExtensions property

Now that we allow extensions at the lock screens, extensions
are allowed for every session mode gnome-shell would typically
change to at runtime.

This means there's little advantage to having an allowExtensions
property in the session mode definition.

This commit simplifies the code a bit by dropping the property.

Third party session modes can still lock down extensions through
gsettings if they need to.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>

5 years agosessionMode: Allow extensions at the login and unlock screens
Ray Strode [Tue, 10 Aug 2021 19:31:00 +0000 (15:31 -0400)]
sessionMode: Allow extensions at the login and unlock screens

Now extensions can specify which session modes they work in,
but specifying the login screen or unlock screen session modes in
an extensions metadata still won't work, because those session
modes disallow extensions.

This commit fixes that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>

5 years agoextensionSystem: Allow extensions to run on the login screen
Ray Strode [Sat, 28 Aug 2021 17:54:39 +0000 (13:54 -0400)]
extensionSystem: Allow extensions to run on the login screen

At the moment it's not realy possible to extend the login screen to do
things it doesn't have built-in support for. This means in order
to support niche use cases, those cases have to change the main
code base. For instance, oVirt and Vmware deployments want to be able
to automaticaly log in guest VMs when a user pre-authenticates through a
console on a management host. To support those use cases, we added
code to the login screen directly, even though most machines will never
be associated with oVirt or Vmware management hosts.

We also get requests from e.g. government users that need certain features
at the login screen that wouldn't get used much outside of government
deployments. For instance, we've gotten requests that a machine contains
prominently displays that it has "Top Secret" information.

All of these use cases seem like they would better handled via
extensions that could be installed in the specific deployments. The
problem is extensions only run in the user session, and get
disabled at the login screen automatically.

This commit changes that. Now extensions can specify in their metadata
via a new sessionModes property, which modes that want to run in. For
backward compatibility, if an extension doesn't specify which session
modes it works in, its assumed the extension only works in the user
session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>

5 years agoextensionSystem: Get rid of _enabled boolean optimization
Ray Strode [Tue, 10 Aug 2021 17:25:57 +0000 (13:25 -0400)]
extensionSystem: Get rid of _enabled boolean optimization

At the moment a session mode either allows extensions or it doesn't.
If it allows extensions, then the entire available list of
configured extensions get enabled as soon as the session mode is
entered.

Since enabling or disabling extensions is an all or nothing situation,
the code tracks whether extensions are already enabled when entering
the session mode, and if so, avoids iterating through the extension list
needlessly. It does this using a boolean named _enabled.

In the future, the extensions themselves will be given some say on
whether or not they should be enabled in a given session mode. This
means, the configured extension list may contain extensions that
shouldn't be enabled for a given session mode, and the _enabled boolean
will no longer be appropriated.

This commit drops the _enabled boolean optimization.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>

5 years agoPost-branch mutter API bump
Florian Müllner [Thu, 14 Oct 2021 16:53:17 +0000 (18:53 +0200)]
Post-branch mutter API bump

Since the CI pipeline now runs `meson dist` which includes a test
for an up-to-date NEWS entry, post-branch/release version bumps
have become unwieldy.

It's still useful to increase the API version right after branching
though, so return to bumping it manually and do so now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2005>

5 years agotheme: Fix high-contrast switches
Florian Müllner [Wed, 6 Oct 2021 16:51:03 +0000 (18:51 +0200)]
theme: Fix high-contrast switches

Commit 9d6fcfdc8506 dropped the different us/intl switches, but
the high-contrast theme was left out at the time (and therefore
ends up with the regular assets now).

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4672

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2000>

5 years agost/password-entry: Fix crash when DConf changes after StEntry is destroyed
Ray Strode [Tue, 12 Oct 2021 19:15:50 +0000 (15:15 -0400)]
st/password-entry: Fix crash when DConf changes after StEntry is destroyed

commit 8721c5db37c1409dbb806c915e6c077e1c4b8c6b made StPasswordEntry
honor the 'disable-show-password' setting.

Unfortunately, it introduced a lifecycle bug where the signal handler
for noticing setting changes can out live the entry itself.

This commit fixes the problem by using g_signal_connect_object

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2004>

5 years agoUpdated Czech translation
Marek Černocký [Sun, 10 Oct 2021 15:18:11 +0000 (17:18 +0200)]
Updated Czech translation

5 years agoci: Install mutter again on coverity job
Carlos Garnacho [Thu, 16 Sep 2021 08:03:38 +0000 (10:03 +0200)]
ci: Install mutter again on coverity job

This job "needs" the build job and thus gets its artifacts, but
it will not inherit the environment where we already installed
Mutter in /usr. This apparently broke once there was a more
recent mutter-clutter .pc file to look up.

Install Mutter in /usr again in this job, so the new build for
coverity finds all dependencies.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1979>

5 years agounlockDialog: Properly reset auth prompt when showing it
Ray Strode [Tue, 5 Oct 2021 15:01:19 +0000 (11:01 -0400)]
unlockDialog: Properly reset auth prompt when showing it

If a user hits escape twice really fast when coming back to
their machine to unlock it, they made end up getting presented
with a non-functional unlock screen that doesn't show their
user icon and doesn't ask for a password.

This is because showPrompt assumes that if an auth prompt already
exists, it's ready to go. That may not be true, if it's in the
process of getting torn down at the time because it's in the middle
of a cancel animation.

This commit solves the problem by ensuring the auth prompt is always
in a fresh reset state before showing it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1999>

5 years agounlockDialog: Don't create AuthDialog just to finish it
Ray Strode [Fri, 8 Oct 2021 15:08:17 +0000 (11:08 -0400)]
unlockDialog: Don't create AuthDialog just to finish it

If the the unlock dialog gets finished before an auth dialog is
created, the code currently creates one just to tell it to finish.

This commit changes the code to skip creating the auth dialog in
that case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1999>

5 years agonotificationDaemon: Fix sound-file support
Florian Müllner [Mon, 27 Sep 2021 13:40:05 +0000 (15:40 +0200)]
notificationDaemon: Fix sound-file support

When commit 25bfe99ed53b5b7 replaced the thin libcanberra wrapper
with the (then) new MetaSoundPlayer API, it missed that the latter
expects files as GFile instead of a file path.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1991>

5 years agoscreenshot: Unrestrict PickColor
Florian Müllner [Sat, 25 Sep 2021 12:15:32 +0000 (14:15 +0200)]
screenshot: Unrestrict PickColor

Commit dd2cd6286cd3 restricted callers of the screenshot methods to
portal implementations, gnome-settings-daemon and gnome-screenshot.

That restriction does make sense for the actual screenshot methods,
but `PickColor` is actually used by GTK in its color picker (and
therefore may be called from arbitrary applications).

Fix this by unrestricting access to `PickColor` again. Considering that
the method is always interactive, it's not very privacy/security-sensitive
anyway.

https://gitlab.gnome.org/GNOME/gtk/-/issues/4283

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1990>

5 years agoAdd screen protect status icons
Jakub Steiner [Mon, 4 Oct 2021 14:58:33 +0000 (16:58 +0200)]
Add screen protect status icons

  - OSD needs them

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4662

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1996>

5 years agoUpdate Croatian translation
Goran Vidović [Wed, 6 Oct 2021 17:08:50 +0000 (17:08 +0000)]
Update Croatian translation

5 years agowelcomeDialog: Fix title translation
Florian Müllner [Tue, 5 Oct 2021 13:05:18 +0000 (15:05 +0200)]
welcomeDialog: Fix title translation

Translators translate the format string ('... GNOME %s'), not the
substituted one ('... GNOME 41').

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4669

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1998>

5 years agoinputMethod: Clear preeditStr before reset
Christian Hergert [Wed, 29 Sep 2021 19:46:45 +0000 (12:46 -0700)]
inputMethod: Clear preeditStr before reset

Previously, these were performed in a different order before GNOME 41.
During some other changes they were swapped.

However, this causes both GTK 3 and GTK 4 applications to scroll to
incorrect positions from the preedit change.

Fixes #4647
Fixes GNOME/gtk#4289
Fixes GNOME/gnome-builder#1536
Fixes GNOME/gnome-builder#1531

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1993>

5 years agost/icon: Ensure icons are updated if theme node is invalid
Marco Trevisan (Treviño) [Wed, 22 Sep 2021 21:37:16 +0000 (23:37 +0200)]
st/icon: Ensure icons are updated if theme node is invalid

Icons that are changed while an actor is not mapped may not have a theme
node associated with, and thus we'd end up not updating them at all.
In fact we return early in st_update_icon(), and this was not an issue
until commit 0b1dfbf6f3f, because we'd end up to update the icon anyways
once the style was changed (and so with a valid theme node), but since
such change we might not updating the icon if no theme detail changed.

To prevent this, add a flag to require an icon update when the theme
changed, if no successfully update happened earlier.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4568
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1983>

5 years agoUpdate Icelandic translation
Sveinn í Felli [Thu, 30 Sep 2021 13:09:18 +0000 (13:09 +0000)]
Update Icelandic translation

5 years agoUpdate Hebrew translation
Yaron Shahrabani [Mon, 27 Sep 2021 08:14:57 +0000 (08:14 +0000)]
Update Hebrew translation

5 years agoUpdate Turkish translation
Emin Tufan Çetin [Sun, 26 Sep 2021 12:18:02 +0000 (12:18 +0000)]
Update Turkish translation

5 years agoUpdate Vietnamese translation
Ngọc Quân Trần [Sun, 26 Sep 2021 01:29:27 +0000 (01:29 +0000)]
Update Vietnamese translation

5 years agoAlways assume GLSL is supported
Jonas Ådahl [Tue, 21 Sep 2021 14:35:32 +0000 (16:35 +0200)]
Always assume GLSL is supported

The support for GLSL has been advertised as unconditionally supported by
mutter for a while, and has now lost the 'GLSL' feature completely. Lets
remove the checks.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1985>

5 years agoUpdate Serbian translation
Марко Костић [Mon, 20 Sep 2021 04:23:46 +0000 (04:23 +0000)]
Update Serbian translation

5 years agoBump version to 41.0
Florian Müllner [Sun, 19 Sep 2021 10:45:39 +0000 (12:45 +0200)]
Bump version to 41.0

Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1981>

5 years agoUpdate Greek translation
Efstathios Iosifidis [Fri, 17 Sep 2021 18:42:18 +0000 (18:42 +0000)]
Update Greek translation

5 years agoUpdate Catalan translation
Jordi Mas [Thu, 16 Sep 2021 19:31:00 +0000 (21:31 +0200)]
Update Catalan translation

5 years agoUpdated Danish translation
Alan Mortensen [Thu, 16 Sep 2021 15:06:09 +0000 (17:06 +0200)]
Updated Danish translation

5 years agoUpdate Bulgarian translation
Alexander Shopov [Wed, 15 Sep 2021 12:04:45 +0000 (12:04 +0000)]
Update Bulgarian translation

5 years agoUpdate Finnish translation
Jiri Grönroos [Tue, 14 Sep 2021 10:18:57 +0000 (10:18 +0000)]
Update Finnish translation

5 years agoUpdate Occitan translation
Quentin PAGÈS [Mon, 13 Sep 2021 19:52:55 +0000 (19:52 +0000)]
Update Occitan translation